import java.util.HashSet;

public class Main {
    /**
     * 两个数组的交集
     * https://leetcode.cn/problems/intersection-of-two-arrays/
     * 给定两个数组 nums1 和 nums2 ，返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输
     * 出结果的顺序 。
     */
    public static void main(String[] args) {
        System.out.println("hello world 0_<");
        int[] nums1 = new int[]{1,2,2,1};
        int[] nums2 = new int[]{2,2};
        int[] answers = new Main().intersection(nums1, nums2);
        for (int num: answers) {
            System.out.println(num);
        }
    }
    public int[] intersection(int[] nums1, int[] nums2) {
        HashSet<Integer> set1 = new HashSet<>();
        HashSet<Integer> resultSet = new HashSet<>();
        for (int num: nums1) {
            set1.add(num);
        }
        for (int num: nums2) {
            if (set1.contains(num)) {
                resultSet.add(num);
            }
        }
        int[] result = new int[resultSet.size()];
        int i = 0;
        for (int num: resultSet) {
            result[i++] = num;
        }
        return result;
    }
}
